import axios from 'axios'
import { humpToUnderline, underlineToHump } from './tool'
// import { humpToUnderline } from './tool'
const URL = {
    LOCAL_TEST_URL:'http://localhost:8080',
    REMOTE_DEV_URL:'http://119.91.149.12:8081',
}
const config = {
    baseURL: URL.REMOTE_DEV_URL,
    timeout: 1000,
}
export const http = axios.create(config)
http.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    
    const token = localStorage.getItem('token')
    if (token) {
        config.headers!.Authorization = `Bearer ${token}`
    }
    //将小驼峰的parmas与data转换为下划线
    humpToUnderline([config.params,config.data])
    return config
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
})

// 添加响应拦截器
http.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    underlineToHump(response.data)
    return response
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error)
})


export default axios 